Systems and methods for handling audio disruptions

ABSTRACT

Systems and methods are provided herein for selectively replaying interrupted segments of media content that are important for understanding a storyline of the media content. In response to detecting noise in a media presentation environment where a current segment is being played, it is determined whether the current segment is important. Responsive to the determination that the current segment is important, a complexity score of the audio component of the current segment is determined and a replay threshold is determined based on the complexity score. Responsive to the determination that the detected noise level is greater than the replay threshold, the current segment is replayed from the beginning instead of continuing to play the media content.

BACKGROUND

The present disclosure is directed to systems and methods forselectively replaying interrupted segments of media content, and, moreparticularly, for selectively replaying interrupted segments of mediacontent that are important for understanding a storyline of the mediacontent.

SUMMARY

While a user is consuming media content (e.g., a movie), backgroundnoise (e.g., people talking, alarms, children crying) may interfere withthe user’s viewing experience. For example, the user may not be able tohear the audio content of the interrupted segment of the media content.In some cases, the user may rewind the media content to re-watch thesegment of the media content that was interrupted by the backgroundnoise. However, if the user rewinds the media content every timebackground noise interrupts the media content, a significant amount oftime and processing resources may be wasted.

In some cases, because it is inconvenient for the user to rewind themedia content after an interruption, the user may continue watching themedia content without knowing what happened in the interrupted segment.If the interrupted segment is not an important segment (e.g., it doesnot include important moments in a storyline of the media content) or ifthe interrupted segment does not include any dialogue, the user’sviewing experience will not be significantly affected. If, however, theinterrupted segment is an important segment (e.g., it does includeimportant moments in a storyline of the media content) and includesimportant dialogue, the user’s viewing experience may be negativelyaffected (e.g., the user may not understand a storyline of the mediacontent).

Accordingly, to solve these problems, systems and methods are providedfor selectively replaying interrupted segments of media content that areimportant for understanding a storyline of the media content. Inparticular, a media player application may play, via a computing devicein a media presentation environment, media content including a pluralityof media segments, each of which includes a video component and an audiocomponent. The media player application may monitor the mediapresentation environment for background noise that may interrupt theaudio component of the media content. In response to detecting noisewhile a current media segment among the plurality of media segments isplaying, the media player application may determine whether the currentmedia segment is an important media segment among the plurality of mediasegments. If the media player application determines that the currentmedia segment is not an important media segment, the media playerapplication may continue to play the media content. Otherwise, if themedia player application determines that the current media segment is animportant media segment, the media player application may determine acomplexity score of the audio component of the current media segment(e.g., based on the amount of dialogue in the current media segment).Based on the determined complexity score, the media player applicationmay determine a replay threshold and determine whether a level of thedetected noise is greater than the determined replay threshold level. Inresponse to determining that the level of the detected noise is greaterthan the determined replay threshold, the media player application mayreplay, via the computing device, the current media segment from thebeginning instead of continuing to play the media content. This solvesthe problem of only replaying media segments with an important audiocomponent (e.g., important dialogue) when media segments are interruptedby background noise.

In some embodiments, when detecting the noise in the media presentationenvironment, the media player application may detect noise exceeding aminimum threshold level. The minimum threshold level may be determinedbased on an output volume of the audio component of the current mediasegment.

In some embodiments, when determining whether the current media segmentis an important media segment, the media player application may searchmetadata of the current media segment for a metadata flag indicating animportant event; and in response to identifying the metadata flagindicating an important event based on a result of the searching, maydetermine that the current media segment is an important media segment.

In some embodiments, the media player application may determine asubtitles threshold based on the determined complexity score. Thedetermined subtitles threshold may be greater than the determined replaythreshold. In some embodiments, the media player application maydetermine whether the level of the detected noise is greater than thedetermined subtitles threshold. In response to determining that thelevel of the detected noise is greater than the determined subtitlesthreshold, the media player application may provide for display, on thecomputing device, subtitles corresponding to the audio component of thecurrent media segment, while the current media segment is beingreplayed.

In some embodiments, the media player application may determine a volumethreshold based on the determined complexity score. The determinedvolume threshold may be greater than the determined subtitles threshold.In some embodiments, the media player application may determine whetherthe level of the detected noise is greater than the determined volumethreshold. In response to determining that the level of the detectednoise is greater than the determined volume threshold, the media playerapplication may increase, via the computing device, an output volume ofthe audio component of the current media segment, while the currentmedia segment is being replayed.

In some embodiments, the media player application may determine thesubtitles threshold further based on an output volume of the audiocomponent of the current media segment. In some embodiments, the mediaplayer application may determine the volume threshold further based onthe output volume of the audio component of the current media segment.

In some embodiments, the media player application may determine thesubtitles threshold further based on a profile of the detected noise. Insome embodiments, the media player application may determine the volumethreshold further based on the profile of the detected noise.

In some embodiments, the media player application may determine thereplay threshold level further based on an output volume of the audiocomponent of the current media segment.

In some embodiments, the media player application may determine thereplay threshold level is further based on a user profile.

In some embodiments, the media player application may determine thecomplexity score of the audio component of the current media segmentbased on an amount of dialogue in the current media segment.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects and advantages of the present disclosurewill be apparent upon consideration of the following detaileddescription, taken in conjunction with the accompanying drawings, inwhich like reference characters refer to like parts throughout, and inwhich:

FIG. 1 shows an illustrative process for replaying a media segment thatis interrupted by noise, in accordance with some embodiments of thepresent disclosure;

FIG. 2 shows a detailed view of an example graph including a pluralityof replay thresholds, in accordance with some embodiments of the presentdisclosure;

FIG. 3 provides an example screen illustrating a notification beingshown while a current media segment is being replayed, in accordancewith some embodiments of the present disclosure;

FIG. 4 provides an example screen illustrating a notification beingshown while a current media segment is being replayed, in accordancewith some embodiments of the present disclosure;

FIGS. 5-6 describe exemplary devices, systems, servers, and relatedhardware for replaying a media segment that is interrupted by noise, inaccordance with some embodiments of the present disclosure;

FIG. 7 depicts a flowchart of illustrative steps for replaying a mediasegment that is interrupted by noise, in accordance with someembodiments of the present disclosure; and

FIG. 8 depicts a flowchart of illustrative steps for determining replayparameters for replaying a current media segment, in accordance withsome embodiments of the present disclosure.

DETAILED DESCRIPTION

FIG. 1 shows an illustrative process for replaying a media segment thatis interrupted by noise, in accordance with some embodiments of thepresent disclosure. As shown, a user 102 may be viewing a computingdevice (e.g., TV 104) that is currently playing a particular mediasegment 106 (i.e., the “current media segment”) among a plurality ofmedia segments comprising media content (e.g., a movie). For example, asshown, the user 102 may be watching the movie “Star Wars: Episode V.” Insome embodiments, each of the plurality of media segments may include avideo component and an audio component. For example, as shown, while thevideo component of the current media segment 106 is being played, anaudio component 108 (i.e., “No! I am your father”) may be played throughspeakers of the TV 104. Although a TV is illustrated, the TV 104 may beany user equipment (e.g., a smartphone, laptop, etc.)

At 112, while “Star Wars: Episode V” is playing, a media playerapplication, implemented on user equipment (e.g., the TV 104), maymonitor the media presentation environment (e.g., a room where the user102 is viewing the TV 104) for background noise. For example, the mediaplayer application may monitor the media presentation environment usinga microphone in the TV 104 and/or microphone(s) in other user equipment(e.g., a smartphone of the user 102, a speaker connected with the TV104, or any other user device in the media presentation environment). Insome embodiments, the media player application may use filteringtechniques to distinguish background noise from the audio component of“Star Wars: Episode V.” As shown, the media player application maydetect background noise 110 while the current media segment 106 isplaying.

At 114, in response to detecting the background noise 110, the mediaplayer application may determine if detected background noise 110interrupts the current media segment 106. For example, the media playerapplication may determine if the background noise 110 interferes withthe ability of the user 102 to hear the audio component 108. In someembodiments, the media player application may compare a level of thebackground noise 110 with an interruption threshold value to determineif the background noise 110 interrupts the current media segment 106. Insome embodiments, the interruption threshold value may be dynamicallyset based on a number of factors that correspond to the ability of theuser 102 to hear the audio component 108. For example, the interruptionthreshold value may be set based on the current volume level of the TV104, a profile of the user 102 (e.g., is the user hard of hearing?), anumber of users in the media presentation environment, a distance of theuser 102 from the TV 104, etc. If the media player applicationdetermines that the background noise 110 does not interrupt the currentmedia segment 106, the media player application may return to 112 andcontinue to monitor the media presentation environment. If, however, themedia player application determines that the background noise 110 doesinterrupt the current media segment 106, the media player applicationmay proceed to 116.

At 116, the media player application may determine if the current mediasegment 106 is an important media segment in “Star Wars: Episode V.” Forexample, the media player application may determine if the current mediasegment 106 is an important segment for understanding a plot orstoryline of “Star Wars: Episode V.” In some embodiments, to do this,the media player application may access metadata of “Star Wars: EpisodeV” and determine if the current media segment is an important segment.For example, the media player application may search for a metadata flagindicating an important event in the current segment. In someembodiments, the metadata may include a rank of importance of differentsegments in “Star Wars: Episode V.” If the media player applicationdetermines that the current media segment 106 is not an important mediasegment, the media player application may return to 112 and continue tomonitor the media presentation environment. If, however, the mediaplayer application determines that the current media segment is animportant media segment, the media player application may proceed to118. As shown, the media player application determines that the currentmedia segment 106, in which Luke Skywalker learns that Darth Vader ishis father, is a very important segment in “Star Wars: Episode V” (e.g.,by identifying a metadata flag indicating the importance of the event).

At 118, the media player application may determine at least one replaythreshold, based on the dialogue complexity of the current media segment106 (i.e., corresponding to the audio component 108). In someembodiments, the media player application may determine a complexityscore of the audio component 108 of the current media segment 106. Forexample, the media player application may determine how many words arespoken during the current media segment 106. If no words are spokenduring the current media segment 106, the media player application mayassign a complexity score of zero. As the words spoken in the currentmedia segment 106 increase, the media player application may assignhigher complexity scores as a function of, e.g., the number of words inthe segment, the number of words a minute, etc. In some embodiments, themedia player application may assign complexity scores on a scale (e.g.,zero to ten). However, this is only one example and the media playerapplication may assign complexity scores on any appropriate scale thatreflects the dialogue complexity of the audio component 108. As shown inmore detail in FIG. 2 , the media player application may determine atleast one replay threshold based on the determined complexity score.

FIG. 2 shows a detailed view of an example graph 200 including aplurality of replay thresholds, in accordance with some embodiments ofthe present disclosure. As shown, the graph 200 includes three replaythresholds 202, 204, 206, which are each a function of the complexityscore of the audio component of the media segment. However, this is onlyone example, and the graph 200 may include more or fewer than threereplay thresholds. As shown, the graph includes replay threshold 202(“Threshold to replay”), subtitles threshold 204 (“Threshold to switchon subtitles”), and volume threshold 206 (“Threshold to increasevolume”). In some embodiments, the replay thresholds 202, 204, 206 maybe determined in advance (e.g., preset by the media player application).In this case, the predetermined replay thresholds 202, 204, 206 may beadjusted based on the current volume level of the TV 104 or any of theother factors described above with reference to the interruptionthreshold. As shown, the replay thresholds 202, 204, 206 may be plottedagainst the level of detected noise (e.g., decibels (dB)). In theillustrated example, the y-axis of the graph 200 is in dB and the x-axisof the graph 200 is a complexity scale from zero to ten. However, thisis only an example, and the graph 200 may include any suitable axis orscales. As shown, as the complexity score of the audio componentincreases, each of the replay thresholds 202, 204, 206 decreases.Although the replay thresholds 202, 204, 206 are shown as non-linearrelationships (i.e., with the level of detected noise), this is only oneexample, and the replay thresholds 202, 204, 206 may be linear. In someembodiments, the replay thresholds 202, 204, 206 may be periodicallyadjusted based on feedback from the user 102, as described in moredetail below.

Returning to FIG. 1 , at 120, the media player application may determineif the level of the background noise 110 is greater than a replaythreshold. For example, the media player application may compare thelevel of the background noise 110 to the replay thresholds 202, 204, 206illustrated in FIG. 2 . If the media player application determines thatthe level of the background noise 100 is not greater than any of thereplay thresholds (i.e., less than or equal to the replay threshold202), the media player application may return to 112 and continue tomonitor the media presentation environment. If, however, the mediaplayer application determines that the level of the background noise 110is greater than at least one of the replay thresholds (i.e., greaterthan replay threshold 202), the media player application may proceed to122.

At 122, the media player application may determine replay parameters forreplaying the current media segment 106. For example, the media playerapplication may determine a replay parameter, among the plurality ofreplay parameters 124, by comparing the level of the detected backgroundnoise 110 with the replay thresholds 202, 204, 206 illustrated in FIG. 2. For example, if the level of the detected noise is greater than thereplay threshold 202 but less than the subtitles threshold 204, themedia player application may replay the current media segment 106 withthe original play parameters of the TV 104 when the current mediasegment 106 was interrupted (e.g., the same output volume and nosubtitles). If the level of the detected noise is greater than thesubtitles threshold 204 but less than the volume threshold 206, themedia player application may replay the current media segment 106 withsubtitles (but at the same output volume). If the level of the detectednoise is greater than the volume threshold 206, the media playerapplication may replay the current media segment at an increased outputvolume. In some embodiments, the media player application may alsodisplay subtitles when replaying the current media segment at theincreased output volume.

As shown, plot points 208, 210, 212, 214, 216 are represented on thegraph 200 by the level of detected noise for the complex score of theaudio component of the interrupted media segment. As shown, plot points214, 212, and 216 may have the same level of detected noise (e.g., about65 dB) but different complexity scores, about 2, 6, and 8, while plotpoints 208, 210, and 212 may have the same complexly score (e.g., about6), but different levels of detected noise (e.g., about 45 dB, 55 dB,and 65 dB). Thus, the media player application may take differentactions for each corresponding interrupted segment. For example, forplot point 214, which has a low complexity score (e.g., about 2), andfor plot point 208, which has a low level of detected noise (e.g., about35 dB), the media player application may determine not to replay theinterrupted segments (e.g., “No” at 120). For plot point 210, the mediaplayer application may determine to replay the interrupted segment withthe original play parameters. For plot point 212, the media playerapplication may determine to replay the interrupted segment withsubtitles. For plot point 216, the media player application maydetermine to replay the interrupted segment at an increased volume (andwith subtitles in some embodiments).

In the example shown in FIG. 1 , plot point 212 may represent the levelof the detected background noise 110 (e.g., about 65 dB) at thedetermined complexity score (e.g., about 6) of the audio component 108for the current media segment 106. In this case, the media playerapplication may determine the replay parameters 124 as “2. Replay withsubtitles,” and replay the current media segment 106 on the TV 104 withsubtitles, as shown in screen 126. Examples of the screen 126 will beexplained in more detail below in connection with FIGS. 3 and 4 .

FIG. 3 provides an example screen 300 illustrating a notification beingshown while the current media segment 106 is being replayed, inaccordance with some embodiments of the present disclosure. As shown,when the current media segment 106 is interrupted, the current mediasegment 106 may be replayed from the beginning of the segment. As shown,when the current media segment is replayed, the media player applicationmay display, on the TV 104, subtitles 306 of the current media segment106 (e.g., corresponding to the audio component 108 of the current mediasegment 106). Additionally, the media player application may display, onthe TV 104, a notification 302 informing the user 102 that the currentmedia segment 106 is being replayed (e.g., “Noise detected. Replayinginterrupted segment with subtitles”). In some embodiments, thenotification 302 may include an option for the user 102 to skip replayof the current media segment 106 (e.g., “Click here to resume withoutreplaying interrupted segment”). In some embodiments, the media playerapplication may track how often the user 102 skips replay of aninterrupted media segment or adjusts playback parameters when backgroundnoise is detected and adjust the replay thresholds (202, 204, 206)discussed above. In some embodiments, the interrupted segment may bereplayed from the point when background noise was detected. In someembodiments, the interrupted segment may be replayed from a point apredetermined time before the point when background noise was detected.In some embodiments, the interrupted segment may be replayed from thebeginning of the scene in which the background noise was detected. Insome embodiments, replay points may be set by the user 102.

FIG. 4 provides an example screen 400 illustrating a notification beingshown while the current media segment 106 is being replayed, inaccordance with some embodiments of the present disclosure. As shown,the screen 400 may be displayed when the media player applicationdetermines to replay the current media segment 106 with an increasedvolume. As shown, when the current media segment 106 is replayed at anincreased volume, the media player application may display, on the TV104, a notification 402 informing the user 102 why the current mediasegment 106 is being replayed (e.g., “Noise detected. Replayinginterrupted segment and temporarily increasing volume becauseinterrupted segment is important”).

FIGS. 5-6 describe exemplary devices, systems, servers, and relatedhardware for replaying a media segment that is interrupted by noise, inaccordance with some embodiments of the present disclosure. FIG. 5 showsgeneralized embodiments of illustrative user equipment devices 500 and501. For example, user equipment device 500 may be a smartphone device.In another example, user equipment system 501 may be a user televisionequipment system (e.g., the TV 104). The user television equipmentsystem 501 may include a set-top box 516. The set-top box 516 may becommunicatively connected to a microphone 518, a speaker 514, and adisplay 512. In some embodiments, the microphone 518 may detect sound(e.g., background noise) in the media presentation environment. In someembodiments, the display 512 may be a television display or a computerdisplay. In some embodiments, the set-top box 516 may be communicativelyconnected to a user input interface 510. In some embodiments, the userinput interface 510 may be a remote control device. The set-top box 516may include one or more circuit boards. In some embodiments, the circuitboards may include processing circuitry, control circuitry, and storage(e.g., RAM, ROM, Hard Disk, Removable Disk, etc.). In some embodiments,the circuit boards may include an input/output path. More specificimplementations of user equipment devices are discussed below inconnection with FIG. 6 . Each one of the user equipment device 500 andthe user equipment system 501 may receive content and data viainput/output (“I/O”) path 502. The I/O path 502 may provide content(e.g., broadcast programming, on-demand programming, Internet content,content available over a local area network (LAN) or wide area network(WAN), and/or other content) and data to control circuitry 504, whichincludes processing circuitry 506 and a storage 508. The controlcircuitry 504 may be used to send and receive commands, requests, andother suitable data using the I/O path 502. The I/O path 502 may connectthe control circuitry 504 (and specifically the processing circuitry506) to one or more communications paths (described below). I/Ofunctions may be provided by one or more of these communications paths,but are shown as a single path in FIG. 5 to avoid overcomplicating thedrawing.

The control circuitry 504 may be based on any suitable processingcircuitry such as the processing circuitry 506. As referred to herein,processing circuitry should be understood to mean circuitry based on oneor more microprocessors, microcontrollers, digital signal processors,programmable logic devices, field-programmable gate arrays (FPGAs),application-specific integrated circuits (ASICs), etc., and may includea multi-core processor (e.g., dual-core, quad-core, hexa-core, or anysuitable number of cores) or supercomputer. In some embodiments,processing circuitry may be distributed across multiple separateprocessors or processing units, for example, multiple of the same typeof processing units (e.g., two Intel Core i7 processors) or multipledifferent processors (e.g., an Intel Core i5 processor and an Intel Corei7 processor). In some embodiments, the control circuitry 504 executesinstructions for a media player application stored in memory (i.e., thestorage 508). Specifically, the control circuitry 504 may be instructedby the media player application to perform the functions discussed aboveand below. In some implementations, any action performed by the controlcircuitry 504 may be based on instructions received from the mediaplayer application.

In client/server-based embodiments, the control circuitry 504 mayinclude communications circuitry suitable for communicating with a mediaplayer application server or other networks or servers. The instructionsfor carrying out the above mentioned functionality may be stored on aserver (which is described in more detail in connection with FIG. 6 .Communications circuitry may include a cable modem, an integratedservices digital network (ISDN) modem, a digital subscriber line (DSL)modem, a telephone modem, Ethernet card, or a wireless modem forcommunications with other equipment, or any other suitablecommunications circuitry. Such communications may involve the Internetor any other suitable communication networks or paths (which isdescribed in more detail in connection with FIG. 6 ). In addition,communications circuitry may include circuitry that enables peer-to-peercommunication of user equipment devices, or communication of userequipment devices in locations remote from each other (described in moredetail below).

Memory may be an electronic storage device provided as the storage 508that is part of the control circuitry 504. As referred to herein, thephrase “electronic storage device” or “storage device” should beunderstood to mean any device for storing electronic data, computersoftware, or firmware, such as random-access memory, read-only memory,hard drives, optical drives, digital video disc (DVD) recorders, compactdisc (CD) recorders, BLU-RAY disc (BD) recorders, BLU-RAY 3D discrecorders, digital video recorders (DVR, sometimes called a personalvideo recorder, or PVR), solid state devices, quantum storage devices,gaming consoles, gaming media, or any other suitable fixed or removablestorage devices, and/or any combination of the same. The storage 508 maybe used to store various types of content described herein as well asmedia player application data described above. Nonvolatile memory mayalso be used (e.g., to launch a boot-up routine and other instructions).Cloud-based storage, described in relation to FIG. 6 , may be used tosupplement the storage 508 or instead of the storage 508.

The control circuitry 504 may include video generating circuitry andtuning circuitry, such as one or more analog tuners, one or more MPEG-2decoders or other digital decoding circuitry, high-definition tuners, orany other suitable tuning or video circuits or combinations of suchcircuits. Encoding circuitry (e.g., for converting over-the-air, analog,or digital signals to MPEG signals for storage) may also be provided.The control circuitry 504 may also include scaler circuitry forupconverting and downconverting content into the preferred output formatof the user equipment 500. The circuitry 504 may also includedigital-to-analog converter circuitry and analog-to-digital convertercircuitry for converting between digital and analog signals. The tuningand encoding circuitry may be used by the user equipment device toreceive and to display, to play, or to record content. The tuning andencoding circuitry may also be used to receive guidance data. Thecircuitry described herein, including for example, the tuning, videogenerating, encoding, decoding, encrypting, decrypting, scaler, andanalog/digital circuitry, may be implemented using software running onone or more general purpose or specialized processors. Multiple tunersmay be provided to handle simultaneous tuning functions (e.g., watch andrecord functions, picture-in-picture (PIP) functions, multiple-tunerrecording, etc.). If the storage 508 is provided as a separate devicefrom the user equipment device 500, the tuning and encoding circuitry(including multiple tuners) may be associated with the storage 508.

A user may send instructions to the control circuitry 504 using the userinput interface 510. The user input interface 510 may be any suitableuser interface, such as a remote control, mouse, trackball, keypad,keyboard, touch screen, touchpad, stylus input, joystick, voicerecognition interface, or other user input interfaces. The display 512may be provided as a stand-alone device or integrated with otherelements of each one of the user equipment device 500 and the userequipment system 501. For example, the display 512 may be a touchscreenor touch-sensitive display. In such circumstances, the user inputinterface 510 may be integrated with or combined with display 512. Thedisplay 512 may be one or more of a monitor, a television, a display fora mobile device, or any other type of display. A video card or graphicscard may generate the output to the display 512. The video card may beany processing circuitry described above in relation to the controlcircuitry 504. The video card may be integrated with the controlcircuitry 504. Speakers 514 may be provided as integrated with otherelements of each one of the user equipment device 500 and the userequipment system 501 or may be stand-alone units. The audio component ofvideos and other content displayed on the display 512 may be playedthrough the speakers 514. In some embodiments, the audio may bedistributed to a receiver (not shown), which processes and outputs theaudio via speakers 514.

The media player application may be implemented using any suitablearchitecture. For example, it may be a stand-alone applicationwholly-implemented on each one of the user equipment device 500 and theuser equipment system 501. In such an approach, instructions of theapplication are stored locally (e.g., in the storage 508), and data foruse by the application is downloaded on a periodic basis (e.g., from anout-of-band feed, from an Internet resource, or using another suitableapproach). The control circuitry 504 may retrieve instructions of theapplication from the storage 508 and process the instructions torearrange the segments as discussed. Based on the processedinstructions, the control circuitry 504 may determine what action toperform when input is received from the user input interface 510. Forexample, movement of a cursor on a display up/down may be indicated bythe processed instructions when the user input interface 510 indicatesthat an up/down button was selected.

In some embodiments, the media player application is aclient/server-based application. Data for use by a thick or thin clientimplemented on each one of the user equipment device 500 and the userequipment system 501 is retrieved on-demand by issuing requests to aserver remote to each one of the user equipment device 500 and the userequipment system 501. In one example of a client/server-based guidanceapplication, the control circuitry 504 runs a web browser thatinterprets web pages provided by a remote server. For example, theremote server may store the instructions for the application in astorage device. The remote server may process the stored instructionsusing circuitry (e.g., the control circuitry 504) and to selectivelyreplay interrupted segments of media content that are important forunderstanding a storyline of the media content as discussed.

In some embodiments, the media player application is downloaded andinterpreted or otherwise run by an interpreter or virtual machine (runby the control circuitry 504). In some embodiments, the media playerapplication may be encoded in the ETV Binary Interchange Format (EBIF),received by the control circuitry 504 as part of a suitable feed, andinterpreted by a user agent running on the control circuitry 504. Forexample, the media player application may be an EBIF application. Insome embodiments, the media player application may be defined by aseries of JAVA-based files that are received and run by a local virtualmachine or other suitable middleware executed by control circuitry 504.In some of such embodiments (e.g., those employing MPEG-2 or otherdigital media encoding schemes), the media player application may be,for example, encoded and transmitted in an MPEG-2 object carousel withthe MPEG audio and video packets of a program.

FIG. 6 is a diagram of an illustrative media system, in accordance withsome embodiments of the disclosure. User equipment devices 608 and 610(such as the TV 104) may be coupled to communication network 606. Thecommunication network 606 may be one or more networks including theInternet, a mobile phone network, mobile voice or data network (e.g., a4G or LTE network), cable network, public switched telephone network, orother types of communication network or combinations of communicationnetworks. Paths (e.g., depicted as arrows connecting the respectivedevices to the communication network 606) may separately or togetherinclude one or more communications paths, such as a satellite path, afiber-optic path, a cable path, a path that supports Internetcommunications (e.g., IPTV), free-space connections (e.g., for broadcastor other wireless signals), or any other suitable wired or wirelesscommunications path or combination of such paths. Communications withthe client devices may be provided by one or more of thesecommunications paths but are shown as a single path in FIG. 6 to avoidovercomplicating the drawing.

Although communications paths are not drawn between user equipmentdevices, these devices may communicate directly with each other viacommunications paths as well as other short-range, point-to-pointcommunications paths, such as USB cables, IEEE 1394 cables, wirelesspaths (e.g., Bluetooth, infrared, IEEE 802-11x, etc.), or othershort-range communication via wired or wireless paths. The userequipment devices may also communicate with each other directly throughan indirect path via the communication network 606.

The system 600 includes a media content source 602 and a server 604.Communications with the media content source 602 and the server 604 maybe exchanged over one or more communications paths but are shown as asingle path in FIG. 6 to avoid overcomplicating the drawing. Inaddition, there may be more than one of each of the media content source602 and the server 604, but only one of each is shown in FIG. 6 to avoidovercomplicating the drawing. If desired, the media content source 602and the server 604 may be integrated as one source device.

In some embodiments, the server 604 may include control circuitry 611and a storage 614 (e.g., RAM, ROM, Hard Disk, Removable Disk, etc.). Theserver 604 may also include an input/output path 612. The I/O path 612may provide device information, or other data, over a local area network(LAN) or wide area network (WAN), and/or other content and data to thecontrol circuitry 611, which includes processing circuitry, and thestorage 614. The control circuitry 611 may be used to send and receivecommands, requests, and other suitable data using the I/O path 612. TheI/O path 612 may connect the control circuitry 304 (and specificallyprocessing circuitry) to one or more communications paths.

The control circuitry 611 may be based on any suitable processingcircuitry such as one or more microprocessors, microcontrollers, digitalsignal processors, programmable logic devices, field-programmable gatearrays (FPGAs), application-specific integrated circuits (ASICs), etc.,and may include a multi-core processor (e.g., dual-core, quad-core,hexa-core, or any suitable number of cores) or supercomputer. In someembodiments, control circuitry 611 may be distributed across multipleseparate processors or processing units, for example, multiple of thesame type of processing units (e.g., two Intel Core i7 processors) ormultiple different processors (e.g., an Intel Core i5 processor and anIntel Core i7 processor). In some embodiments, the control circuitry 611executes instructions for an emulation system application stored inmemory (e.g., the storage 614). Memory may be an electronic storagedevice provided as the storage 614 that is part of the control circuitry611.

The server 604 may retrieve guidance data from media content source 602,process the data as will be described in detail below, and forward thedata to the user equipment devices 608 and 610. The media content source602 may include one or more types of content distribution equipmentincluding a television distribution facility, cable system headend,satellite distribution facility, programming sources (e.g., televisionbroadcasters, such as NBC, ABC, HBO, etc.), intermediate distributionfacilities and/or servers, Internet providers, on-demand media servers,and other content providers. NBC is a trademark owned by the NationalBroadcasting Company, Inc., ABC is a trademark owned by the AmericanBroadcasting Company, Inc., and HBO is a trademark owned by the Home BoxOffice, Inc. Media content source 602 may be the originator of content(e.g., a television broadcaster, a Webcast provider, etc.) or may not bethe originator of content (e.g., an on-demand content provider, anInternet provider of content of broadcast programs for downloading,etc.). The media content source 602 may include cable sources, satelliteproviders, on-demand providers, Internet providers, over-the-top contentproviders, or other providers of content. The media content source 602may also include a remote media server used to store different types ofcontent (including video content selected by a user), in a locationremote from any of the client devices. The media content source 602 mayalso provide metadata that can be used to identify important segments ofmedia content as described above.

Client devices may operate in a cloud computing environment to accesscloud services. In a cloud computing environment, various types ofcomputing services for content sharing, storage or distribution (e.g.,video sharing sites or social networking sites) are provided by acollection of network-accessible computing and storage resources,referred to as “the cloud.” For example, the cloud can include acollection of server computing devices (such as, e.g., server 604),which may be located centrally or at distributed locations, that providecloud-based services to various types of users and devices connected viaa network such as the Internet via communication network 606. In suchembodiments, user equipment devices may operate in a peer-to-peer mannerwithout communicating with a central server.

FIG. 7 depicts a flowchart of illustrative steps for replaying a mediasegment that is interrupted by noise, in accordance with someembodiments of the present disclosure. The process 700 may be executedby the control circuitry 504 (e.g., in a manner instructed to thecontrol circuitry 504 by the media player application). The controlcircuitry 504 may be part of user equipment (e.g., a device that mayhave any or all of the functionality of the user equipment devices 608or 610), or of a remote server separated from the user equipment by wayof the communication network 606, or distributed over a combination ofboth. It should be noted that the process 700, or any step thereof,could be performed on, or provided by, any of the devices shown in FIGS.1, 3-4, and 5-6 .

The process 700 begins at step 702, when the media player application(e.g., via the control circuitry 504) plays, via a computing device(e.g., the user equipment device 500 or the user television equipmentsystem 501) in a media presentation environment, media content (e.g., amovie) including a plurality of media segments.

At step 704, the media player application (e.g., via the controlcircuitry 504), detects, while a current media segment of the mediacontent is playing, noise in the media presentation environment (e.g.,background noise). For example, the control circuitry 504 may processsignals from the microphone 518 to detect noise in the mediapresentation environment.

At step 706, the media player application (e.g., via the controlcircuitry 504), determines if the detected noise level interrupts theaudio component of the current media segment. For example, the mediaplayer application may determine if the level of the detected noise islikely to interfere with a user’s ability to hear the audio component ofthe current media segment. In one example, the media player applicationmay make this determination in part based on the output volume of thecomputing device. If the control circuitry 504 determines that thedetected noise level does not interrupt the audio component of thecurrent media segment (e.g., “No” at 706), the process 700 may returnback to step 704 and continue to monitor the media presentationenvironment (while continuing to play the media content). Otherwise, ifthe control circuitry 504 determines that the detected noise level doesinterrupt the audio component of the current media segment (e.g., “Yes”at 706), the process 700 may proceed to step 708.

At step 708, the media player application (e.g., via the controlcircuitry 504), determines if the current media segment is an importantsegment. For example, the control circuitry 504 may retrieve metadata ofthe current media segment and determine if the metadata includes ametadata flag indicating an important event (e.g., important forunderstanding a plot or storyline of the media content). If the controlcircuitry 504 determines that the current media segment is not animportant segment (“No” at 708), the process 700 may return back to step704 and continue to monitor the media presentation environment (whilecontinuing to play the media content). Otherwise, if the controlcircuitry 504 determines that the current media segment is an importantsegment (“Yes” at 708), the process may proceed to step 710.

At step 710, the media player application (e.g., via the controlcircuitry 504), determines a complexity score of the audio component ofthe current media segment. For example, the control circuitry 504 maydetermine the complexity score based on the dialogue complexity of theaudio component of the current media segment (e.g., the number of spokenwords in the audio component of the current media segment). As oneexample, the control circuitry 504 may determine a high complexity scorefor a segment having a large amount of dialogue and determine a lowcomplexity score for a segment having a small amount of dialogue.

At step 712, the media player application (e.g., via the controlcircuitry 504), determines a plurality of replay thresholds, eachassociated with different replay parameters, based on the determinedcomplexity score. For example, each of the plurality of replaythresholds may be a function of the determined complexity score.

At step 714, the media player application (e.g., via the controlcircuitry 504), determines if the detected noise level is greater thanany of the plurality of replay thresholds. For example, the controlcircuitry 504 may determine if the detected noise level is greater thanthe lowest replay threshold of the plurality of replay thresholds. Ifthe control circuitry 504 determines that the detected noise level isnot greater than any of the plurality of replay thresholds (“No” at714), the process 700 may return back to step 704 and continue tomonitor the media presentation environment (while continuing to play themedia content). Otherwise, if the control circuitry 504 determines thatthe detected noise level is greater than at least one of the pluralityof replay thresholds (“Yes” at 714), the process may proceed to step716.

At step 716, the media player application (e.g., via the controlcircuitry 504), determines replay parameters for replaying the currentmedia segment, based on the plurality of replay thresholds. For example,as described in more detail in connection with FIG. 8 , each of theplurality of replay thresholds may be associated with different replayparameters.

At step 718, the media player application (e.g., via the controlcircuitry 504), replays, via a computing device (e.g., the userequipment device 500 or the user television equipment system 501), thecurrent media segment with the determined replay parameters. Forexample, the control circuitry 504 restarts the interrupted segment sothat a user can understand the audio component of the interruptedsegment.

FIG. 8 depicts a flowchart of illustrative steps for determining replayparameters for replaying a current media segment, in accordance withsome embodiments of the present disclosure. Process 716A is oneembodiment of a method for performing step 716 of FIG. 7 and beginsafter step 714. At step 802, the media player application (e.g., via thecontrol circuitry 504), determines if the detected noise level isgreater than a replay threshold but less than a subtitles threshold. Ifthe control circuitry 504 determines that the detected noise level isgreater than the replay threshold but less than the subtitles threshold(“Yes” at 802), the process 716A may proceed to step 804 and determine“replay with original parameters” as the replay parameters. Otherwise,if the control circuitry 504 determines that the detected noise level isgreater than the replay threshold but not less than the subtitlesthreshold (“No” at 802), the process may proceed to step 806.

At step 806, the media player application (e.g., via the controlcircuitry 504), determines if the detected noise level is greater thanthe subtitles threshold but less than a volume threshold. If the controlcircuitry 504 determines that the detected noise level is greater thanthe subtitles threshold but less than the volume threshold (“Yes” at806), the process 716A may proceed to step 808 and determine “replaywith subtitles” as the replay parameters. Otherwise, if the controlcircuitry 504 determines that the detected noise level is greater thanthe subtitles threshold but not less than the volume threshold (“No” at806), the process may proceed to step 810.

At step 810, the media player application (e.g., via the controlcircuitry 504), determines that the detected noise level is greater thanor equal to the volume threshold and determines “reply with increasedvolume” as the replay parameters. The process 716A then continues withstep 716, in which the media player application replays the currentmedia segment with the determined replay parameters.

The processes discussed above are intended to be illustrative and notlimiting. One skilled in the art would appreciate that the steps of theprocesses discussed herein may be omitted, modified, combined and/orrearranged, and any additional steps may be performed without departingfrom the scope of the invention. More generally, the above disclosure ismeant to be exemplary and not limiting. Only the claims that follow aremeant to set bounds as to what the present invention includes.Furthermore, it should be noted that the features and limitationsdescribed in any one embodiment may be applied to any other embodimentherein, and flowcharts or examples relating to one embodiment may becombined with any other embodiment in a suitable manner, done indifferent orders, or done in parallel. In addition, the systems andmethods described herein may be performed in real time. It should alsobe noted that the systems and/or methods described above may be appliedto, or used in accordance with, other systems and/or methods.

What is claimed is: 1-30. (canceled)
 31. A method comprising:determining a level of noise present in a media presentation environmentduring playing of a first portion of a content item, the first portioncomprising an audio component; determining that the first portion is animportant portion of the content item; in response to determining thatthe first portion is an important portion: determining a complexityscore of the audio component; determining a replay threshold based onthe complexity score; determining a subtitles threshold based on thecomplexity score wherein the subtitles threshold for the complexityscore is higher than the replay threshold for the complexity score; inresponse to determining that the level of noise present in the mediapresentation environment exceeds the replay threshold: replaying thefirst portion from the beginning of the first portion instead ofcontinuing to play the content item; and in response to determining thatthe level of the noise is greater than the subtitles threshold, causingto be displayed subtitles corresponding to the audio component duringreplaying of the first portion.
 32. The method of claim 31, wherein thefirst portion comprises a video component.
 33. The method of claim 31,wherein the determining the level of noise present in the mediapresentation environment comprises identifying noise exceeding a minimumthreshold level, wherein the minimum threshold level is determined basedon an output volume of the audio component.
 34. The method of claim 31,wherein the determining that the first portion is an important portionof the content item comprises: searching metadata of the first portionfor a metadata flag indicating occurrence of an important event; and inresponse to identifying the metadata flag indicating the occurrence ofthe important event based on the searching the metadata, determiningthat the first portion is an important portion.
 35. The method of claim31, further comprising: determining a volume threshold based on thecomplexity score, wherein the volume threshold is greater than thesubtitles threshold; determining whether the level of the noise isgreater than the volume threshold; and in response to determining thatthe level of the noise is greater than the volume threshold, increasingan output volume of the audio component during replaying of the firstportion.
 36. The method of claim 35, wherein: the subtitles threshold isdetermined based on the output volume of the audio component; and thevolume threshold is determined based on the output volume of the audiocomponent.
 37. The method of claim 36, wherein: the subtitles thresholdis determined based on a profile of the noise; and the volume thresholdis determined based on the profile of the noise.
 38. The method of claim31, wherein the replay threshold is determined based on an output volumeof the audio component.
 39. The method of claim 38, wherein the replaythreshold is determined based on a user profile.
 40. The method of claim31, wherein the complexity score of the audio component is determinedbased on an amount of dialogue in the first portion.
 41. A systemcomprising: audio input/output (I/O) circuitry configured to outputaudio content; and control circuitry configured to: determine a level ofnoise present in a media presentation environment during playing of afirst portion of a content item, the first portion comprising an audiocomponent; determine that the first portion is an important portion ofthe content item; in response to determining that the first portion isan important portion: determine a complexity score of the audiocomponent determine a replay threshold based on the complexity scoredetermine a subtitles threshold based on the complexity score whereinthe subtitles threshold for the complexity score is higher than thereplay threshold for the complexity score in response to determiningthat the level of noise present in the media presentation environmentexceeds the replay threshold: replay, via the audio I/O circuitry, thefirst portion from the beginning of the first portion instead ofcontinuing to play the content item; and in response to determining thatthe level of the noise is greater than the subtitles threshold, cause tobe displayed subtitles corresponding to the audio component duringreplaying of the first portion.
 42. The system of claim 41, wherein thefirst portion comprises a video component.
 43. The system of claim 41,wherein the control circuitry, when determining the level of noisepresent in the media presentation environment, is configured to identifynoise exceeding a minimum threshold level, and wherein the controlcircuitry is configured to determine the minimum threshold level basedon an output volume of the audio component.
 44. The system of claim 41,wherein the control circuitry, when determining that the first portionis an important portion of the content item, is configured to: searchmetadata of the first portion for a metadata flag indicating anoccurrence of an important event; and in response to identifying themetadata flag indicate the occurrence of the important event based onthe searching the metadata, determine that the first portion is animportant portion.
 45. The system of claim 41, wherein the controlcircuitry is further configured to: determine a volume threshold basedon the complexity score, wherein the volume threshold is greater thanthe subtitles threshold; determine whether the level of the noise isgreater than the volume threshold; and in response to determining thatthe level of the noise is greater than the volume threshold, increase anoutput volume of the audio component during replaying of the firstportion.
 46. The system of claim 45, wherein the control circuitry isfurther configured to: determine the subtitles threshold based on theoutput volume of the audio component; and determine the volume thresholdbased on the output volume of the audio component.
 47. The system ofclaim 46, wherein the control circuitry is further configured to:determine the subtitles threshold based on a profile of the noise; anddetermine the volume threshold based on the profile of the noise. 48.The system of claim 41, wherein the control circuitry is configured todetermine the replay threshold based on an output volume of the audiocomponent.
 49. The system of claim 48, wherein the control circuitry isconfigured to determine the replay threshold based on a user profile.50. The system of claim 41, wherein the control circuitry is configuredto determine the complexity score of the audio component based on anamount of dialogue in the first portion.